1. Field of Invention
The present invention provides a proxy apparatus and method for streaming media information via at least one network and apparatus and methods for increasing the quality of stored media information.
2. Description of Related Art
Currently, techniques are available to stream multimedia content from a network or media server. Streaming multimedia content involves sending multimedia content to a user""s terminal buffer which then outputs the multimedia content for viewing by the user. The multimedia content may be only temporarily stored on the user""s terminal and is removed once viewing is complete. Streaming multimedia content allows a user to begin viewing the content before it is completely sent to his/her terminal.
With present streaming techniques, a user must request multimedia content from a local server normally across a network each time the user wishes to view the multimedia content. The user may experience large delays and poor quality of service due to network congestion and network utilization which will also impact other users that are making use of the network. Thus, there is a need for new technology to improve multimedia content access.
The present invention provides a proxy apparatus and method for streaming media information via at least one network. A user device communicates with the proxy apparatus using a particular bandwidth connection. When the user device requests media information, the proxy apparatus first determines if a version of the media information that is encoded for the user device""s connection bandwidth is available in the proxy apparatus. If the version of the media information is available, then the media information is streamed to the user device directly from the proxy apparatus; otherwise the user device""s request is forwarded to the media server.
After the request is received, the media server streams a version of the media information to the user device via the network and proxy device. The media information streamed to the user device is either the version that matches the bandwidth of the user device connection or a version that is encoded for the highest bandwidth less than the bandwidth of the user device connection.
The proxy apparatus also requests from the media server some or all versions of the media information encoded for other bandwidths. These additional versions, along with the version actually received by the user device, are stored in a media storage device of the proxy device. Thus, when subsequent requests from user devices are received, the proxy apparatus acts as a proxy for the media server and streams a version of the media information that is either encoded for the particular bandwidth of the user device connection or a highest bandwidth less than the particular bandwidth of the user device connection without further interaction with the media server.
During the streaming of media information and storage of the media information in the media storage device, some data may be lost in the transmission of the media information, i.e. data packets may be dropped due to network congestion. The proxy device may maintain a listing, for each version of the media information received, indicating the data packets that were lost during the streaming of the media information and/or may set a flag indicating that data packets were lost during the streaming of the media information.
The proxy device, either immediately or at a later time, may send requests to the media server for the data packets that were lost during the streaming of the media information or for the entire media information. This may be performed periodically, when network congestion levels are minimal, or when other favorable conditions occur. Additionally, the lost data packets may be retrieved during subsequent requests for the media information.